<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 选择结构之switch   =>  多分支
    // (1) switch中的表达式一般是一个变量/常量  
    // (2) case:  列举出变量可能出现的情况  
    // (3) 针对不同的情况执行对应语句

    // 如何比较
    // switch中的表达式和case中的常量 依次按顺序做全等比较(=== 数值和类型均相等),如果全等则执行对应
    // 的 执行语句,语句执行完毕 遇到break,跳出当前的switch结构,都不满足则执行default的语句。

    // break的作用：是跳出switch结构，如果没有break，则继续执行下面分支的的语句（而不进行判断）。

    // switch(表达式){
    //     case 常量1:  执行语句1;
    //     case 常量2:  执行语句2;
    //     case 常量3:  执行语句3;
    //     case 常量4:  执行语句4;
    //     case 常量5:  执行语句5;
    //     case 常量6:  执行语句6;
    //     default:  除了上述以外的其他情况(else)
    // }

    // switch穿透:
    // switch中的表达式和case中的常量 依次按顺序做全等比较(=== 数值和类型均相等),如果全等则执行对应
    // 的 执行语句,但是由于没有break,此时语句执行完毕,并不会跳出当前的switch结构,而是继续执行下面分支的语句
    // 而不经过判断




    var week = 1 + Math.round(Math.random() * 6);   // 1-7 
    // var week = 8; 
    console.log(week);

    debugger;

    switch (week) { // 4
      case 1:   // week === 1
        document.write("今天是星期一,学习了JS基础<br>");
      case 2:   // week === 2
        document.write("今天是星期二,学习了选择结构<br>");
      case 3:   // week === 3
        document.write("今天是星期三,学习了循环结构<br>");
      case 4:   // week === 4
        document.write("今天是星期四,学习了函数封装<br>");
      case 5:   // week === 5
        document.write("今天是星期五,学习了函数递归<br>");
      case 6:   // week === 6
        document.write("今天是星期六,自习<br>");
      case 7:   // week === 7
        document.write("今天是星期天,休息<br>");
      default:
        document.write("出现了意料之外的情况<br>");
    }

    document.write("这是后面执行的代码!!!");











  </script>
</body>

</html>